Computer systems often are used to manage and process business data. To do so, a business enterprise may use various application programs running on one or more computer systems. Application programs may be used to process business transactions, such as taking and fulfilling customer orders, providing supply chain and inventory management, performing human resource management functions, and performing financial management functions. Application programs also may be used for analyzing data, including analyzing data obtained through transaction processing systems. A business enterprise may use multiple application programs running on one or more computer systems.
An application program may be customized to meet the specific requirements of the environment in which the application program is operating. For example, parameters in an application program may be customized to meet the requirements of a particular country, a particular industry, a particular company, or a particular department in a company so that the system accurately fulfills specific requirements of the operating environment, even highly specialized or localized requirements. Examples of customization include language parameter customization, unit parameter customization (e.g., metric versus English), format parameter customization (e.g., month/day/year versus day/month/year), work process parameter customization, and notation parameter customization. Typically, the customization occurs for an application program prior to or as part of deploying the application program in the business enterprise.
Although application program customization allows an application program to meet one or more specific requirements of the operating environment, application program customization also complicates operations that span application programs with differing customization settings, or the use of the same application program at different sites with differing customization settings. For example, if the customization settings of a particular class of data objects in two different application programs are different, then data objects from this class may not be directly comparable or transferable.
One approach to customizing application programs is for each of the application programs to store locally the necessary configuration information. In some cases, multiple application programs may need the same configuration information and the configuration information is redundantly stored by each of application programs needing the configuration information. For proper operation, the consistency of the redundantly stored configuration information must be maintained in each application program. For example, when redundantly stored configuration information is updated, all copies of the configuration information held by an application program needing the configuration information must be updated. Ensuring consistency across the redundantly stored configuration information may be burdensome. This may be particularly true in large, distributed enterprise information technology systems that have multiple application programs operating on distributed computer systems and having large numbers of data objects and business processes. Furthermore, redundantly storing configuration information and checking for consistency across the configuration information generally adds to the operating costs of the application programs.